package com.google.gwt.maps.v3.client.streetview.impl;

import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.maps.v3.client.streetview.StreetViewServiceCallback;

public class StreetViewServiceImpl {
  
  public static final StreetViewServiceImpl impl = new StreetViewServiceImpl();
  
  public native JavaScriptObject construct() /*-{
    return new $wnd.google.maps.StreetViewService();
  }-*/;

  public native void getPanoramaById(JavaScriptObject jso, String panoId, StreetViewServiceCallback callback) /*-{
    jso.getPanoramaById(panoId, function(data, status) {
        callback.@com.google.gwt.maps.v3.client.streetview.StreetViewServiceCallback::callback_(Lcom/google/gwt/core/client/JavaScriptObject;Ljava/lang/String;)(data, status);
    });
  }-*/;
  
  public native void getPanoramaByLocation(JavaScriptObject jso, JavaScriptObject latLng, double radius, StreetViewServiceCallback callback) /*-{
    jso.getPanoramaByLocation(latLng, radius, function(data, status) {
        callback.@com.google.gwt.maps.v3.client.streetview.StreetViewServiceCallback::callback_(Lcom/google/gwt/core/client/JavaScriptObject;Ljava/lang/String;)(data, status)
    });
  }-*/;
  
}
